将文件夹内容复制到创建的.zip文件:“未找到文件或没有读取权限”

您所在的位置:网站首页 找不到文件或没有读取权限怎么办 压缩 将文件夹内容复制到创建的.zip文件:“未找到文件或没有读取权限”

将文件夹内容复制到创建的.zip文件:“未找到文件或没有读取权限”

2024-07-09 05:44| 来源: 网络整理| 查看: 265

我正在尝试使用.zip从现有文件夹创建一个JScript文件,而且我的copyHere函数似乎没有复制到.zip文件夹。相反,我会得到一个名为“压缩(压缩)文件夹错误”的弹出框,其中的消息是“文件找不到或没有读取权限”,即使根据我的file.attributes属性(32)的值,我对该文件具有读写权限。

下面是我使用的脚本:

代码语言:javascript复制//Get commman line arguments var objArgs = WScript.Arguments; var zipPath = objArgs(0); var sourcePath = objArgs(1); //Create empty ZIP file and open for adding var fso = new ActiveXObject("Scripting.FileSystemObject"); var file = fso.CreateTextFile(zipPath, true); // Create twenty-two byte "fingerprint" for .zip file.write("PK"); file.write(String.fromCharCode(5)); file.write(String.fromCharCode(6)); file.write('\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0'); var objShell = new ActiveXObject("shell.application"); var zipFolder = new Object; zipFolder = objShell.NameSpace(zipPath); sourceItems = objShell.NameSpace(sourcePath).items(); if (zipFolder != null) { zipFolder.CopyHere(sourceItems); WScript.Sleep(1000); }

现在,CopyHere函数可以将sourcePath的内容复制到普通文件夹中,但是当我尝试创建一个.zip文件并将内容复制到该文件夹时,什么都不会发生。对于为什么copyHere不将sourcePath的内容复制到.zip,有什么想法吗?

调用此脚本的示例是:

cscript win-zip.js C:\desired\zip\file.zip C:\path\to\source\folder

所期望的结果将是创建file.zip,现在包含源文件夹的内容。这会不会是权限的问题?是什么导致了这种行为?

Side ,使用vbScript和我可以成功创建和填充.zip的相同命令,那么为什么它不能使用jscript工作呢?

代码语言:javascript复制Set objArgs = WScript.Arguments ZipFile = objArgs(0) SourceFolder = objArgs(1) ' Create empty ZIP file and open for adding CreateObject("Scripting.FileSystemObject").CreateTextFile(ZipFile, True).Write "PK" & Chr(5) & Chr(6) & String(18, vbNullChar) Set zip = CreateObject("Shell.Application").NameSpace(ZipFile) ' Get items in source folder Set sourceItems = CreateObject("Shell.Application").NameSpace(SourceFolder).Items ' Add all files/directories to the .zip file zip.CopyHere(sourceItems) WScript.Sleep 1000 'Wait for items to be copied

非常感谢任何有帮助的评论,谢谢!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3